﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Bot.Domain.Livechat.Struct
{
    [DataContract]
    public class StructVisitor
    {
        [DataMember(Name = "page_views")]
        public int PageViews { get; set; }

        [DataMember(Name = "browser")]
        public string Browser { get; set; }

        [DataMember(Name = "chats")]
        public int Chats { get; set; }

        [DataMember(Name = "city")]
        public string City { get; set; }

        [DataMember(Name = "company")]
        public string Company { get; set; }

        [DataMember(Name = "country")]
        public string Country { get; set; }

        [DataMember(Name = "current_browsing")]
        public string CurrentBrowsing { get; set; }

        [DataMember(Name = "custom_fields")]
        public List<StructCustomField> CustomFields { get; set; }

        [DataMember(Name = "custom_variables")]
        public List<StructCustomVariable> CustomVariables { get; set; }

        [DataMember(Name = "department")]
        public Guid Department { get; set; }

        [DataMember(Name = "email")]
        public string Email { get; set; }

        [DataMember(Name = "first_visit_time")]
        public DateTime FirstVisitTime { get; set; }

        [DataMember(Name = "flash_version")]
        public string FlashVersion { get; set; }

        [DataMember(Name = "id")]
        public string Id { get; set; }

        [DataMember(Name = "ip")]
        public string Ip { get; set; }

        [DataMember(Name = "keywords")]
        public string Keywords { get; set; }

        [DataMember(Name = "landing_page")]
        public string LandingPage { get; set; }

        [DataMember(Name = "language")]
        public string Language { get; set; }

        [DataMember(Name = "name")]
        public string Name { get; set; }

        [DataMember(Name = "operating_system")]
        public string OperatingSystem { get; set; }

        [DataMember(Name = "phone")]
        public string Phone { get; set; }

        [DataMember(Name = "product_service")]
        public string ProductService { get; set; }

        [DataMember(Name = "referrer_url")]
        public string ReferrerUrl { get; set; }

        [DataMember(Name = "screen_resolution")]
        public string ScreenResolution { get; set; }

        [DataMember(Name = "search_engine")]
        public string SearchEngine { get; set; }

        [DataMember(Name = "state")]
        public string State { get; set; }

        [DataMember(Name = "status")]
        public int Status { get; set; }

        [DataMember(Name = "time_zone")]
        public string TimeZone { get; set; }

        [DataMember(Name = "visit_time")]
        public DateTime VisitTime { get; set; }

        [DataMember(Name = "visits")]
        public int Visits { get; set; }

        [DataMember(Name = "ssoId")]
        public string SSOId { get; set; }

        public long UpdateTime { get; set; }
        [DataMember(Name = "longitude")]
        public double Longitude { get; set; }
        [DataMember(Name = "latitude")]
        public double Latitude { get; set; }
    }
}
